Method of gathering information related to activity of a user and a data processing system program product

ABSTRACT

Information related to activity of a user may be provided using a method or a data processing system program product to perform the method. In one embodiment, the method includes sending a first view request to a first electronic site, receiving a first view from the first electronic site, and first information related to the first view request to a second entity that is different from the first entity. In another embodiment, a data processing system program product may perform a method of sending information related to a view request from the user for an electronic site. The information is to be sent to an entity that is different from an entity that substantially controls or owns the electronic site and different from an Internet service provider of the user, if the user is to use the Internet service provider in accessing the electronic site.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/137,723, filed May 25, 2005, now U.S. Pat. No. 7,831,706, by InventorSean M. McCullough entitled “Method of Gathering Information Related toActivity of a User and a Data Processing System Program Product” whichis a continuation of U.S. patent application Ser. No. 09/752,184, nowU.S. Pat. No. 6,996,612, by inventor Sean M. McCullough entitled “Methodof Providing Information Related to Activity of a User and a DataProcessing System Program” filed on Dec. 29, 2000, which in turn claimspriority under 35 U.S.C. §119(e) to U.S. Patent Application No.60/173,831 entitled “Method for Controlling Web Usage Patterns ViaThird-Party Annotation Services” by McCullough filed Dec. 30, 1999,which is incorporated by reference.

FIELD OF THE INVENTION

This invention relates in general to methods and data processing systemprogram products, and more particularly, to methods and data processingsystem program products related to activity of a user at one or moreelectronic sites.

RELATED ART

The Internet allows the access of information by a wide variety ofusers. FIG. 1 includes an illustration of a system for a user 12 toaccess an electronic site 16 via an electronic site access provider(ESAP) 14. Each of the user 12 and electronic site 16 arebi-directionally coupled to the ESAP 14. Many times, the electronic site16 can be an Internet site, and the ESAP 14 can be an Internet serviceprovider. Typically, the user 12 makes a request for a view (e.g., apage) to the electronic site 16 via the ESAP 14. The protocol for therequest is usually in hypertext transfer protocol (HTTP).

One of the challenges of the Internet has been for an entities thatsubstantially control or own the electronic sites, such as electronicsite 16, to obtain reliable information about users including user 12.While the entities may have information regarding activities of theusers at their respective electronic sites, this information istypically sparse and gives only a small part of the profiles of theusers.

Another attempt to get more information about users is for the entitiesthat substantially control or own the electronic sites to form analliance with one another to collect and share information about usersat their respective electronic sites. Typically, the alliances cover arelatively small fraction of all electronic sites. To the extent usersare accessing electronic sites outside the alliance, the members of thealliance do not have access to that information. Therefore, the profilesof the users include just a small portion of information regardingactivities of the users.

ESAP 14 typically collects information regarding activities of its userswith respect to electronic sites. However, the ESAP 14 may use theinformation for limited purposes, such as determining if the ESAP 14needs additional servers, activity of one user is significantly morethan all other users, and the like. Due to privacy concerns or policyconsiderations of the ESAP 14, it typically does not share allinformation that it collects regarding its subscribers' (users')activities with the entities that substantially control or own theelectronic sites for the specific purpose of creating profiles of theESAP's subscribers.

SUMMARY OF THE INVENTION

Information related to activity of a user may be provided using a methodor a data processing system program product. The data processing systemprogram product has a code embodied within a data processing systemreadable medium, and the code includes a set of instructions executableby a data processing system to perform the method. In one embodiment,the method includes an act of sending a first view request to a firstelectronic site. The electronic site is typically substantiallycontrolled or owned by a first entity. The method further includesreceiving a first view from the first electronic site. The first viewsubstantially corresponds to the first view request. The method alsoincludes sending first information related to the first view request toa second entity that is different from the first entity. In a specificimplementation of the embodiment, the acts of sending the first viewrequest, receiving, and sending the first information are performed bythe user.

In another embodiment, a data processing system program product has acode embodied within a data processing system readable medium. The codecomprises instructions executable by a data processing system of a userto perform a method of sending information related to a view requestfrom the user for an electronic site. The information is to be sent toan entity that is different from an entity that substantially controlsor owns the electronic site and is different from an Internet serviceprovider or electronic site access provider of the user, if the user isto use such provider in accessing the electronic site.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the accompanying figures, in which like referencesindicate same elements, and in which:

FIG. 1 includes an illustration of relationships between a user, ESAP,and electronic site when accessing information from the electronic site(prior art);

FIG. 2 includes an illustration of a system that allows information froma user to be recorded as he or she makes view requests from anelectronic site via an ESAP; and

FIG. 3 includes a flow diagram for a method of using the system in FIG.2.

Skilled artisans appreciate that elements in the figures are illustratedfor simplicity and clarity and have not necessarily been drawn to scale.For example, the dimensions of some of the elements in the figure may beexaggerated relative to other elements to help to improve understandingof embodiments of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention allow information to be gatheredregarding a user, where the information is more accurate than datacollected at an individual electronic site or by an alliance ofdifferent entities having their own electronic sites because informationregarding the user's activities outside individual electronic site andthe alliance is collected. In one embodiment, the user sends a viewrequest to an electronic site and also sends information related to theview request to a user information system that includes a data base ofthe user's activities at electronic sites. In one embodiment, the usermay be able to enable or disable the information collection. The presentinvention is defined in the appended claims and is better understoodafter reading the descriptions of the embodiments that follow.

Before describing the embodiments in more detail, some terms are definedor clarified to improve understanding. “Electronic site” includes anysite where information is sent to and received from an electroniccommunication device, such as a computer, mobile phone, personal digitalassistant, or the like. A web site is an example of a common type ofelectronic site. “Entity” is any individual, partnership, company,corporation, or organization.

FIG. 2 includes an illustration of a system that allows information froma user to be recorded in accordance with an embodiment of the presentinvention. Each of the user 22 and electronic site 16 arebi-directionally coupled to the ESAP 14. Although the user 22 isillustrated as being a personal computer, the user 22 is typically anindividual who may potentially purchase a product or service from at theelectronic site 16. The user 22 can access electronic sites using thepersonal computer, a personal digital assistant, a mobile phone, or thelike. All of these devices typically include a data processing system(computer, microprocessor, microcontroller, or the like). The ESAP 14and electronic site 16 are illustrated as servers, which are anothertype of data processing system. In this particular embodiment, the user22, ESAP 14, and electronic site 16 are connected via the Internet.Although not shown, additional servers, switches, routers, combinationsthereof, or the like may lie between the ESAP 14 and the electronic site16 but are not shown in FIG. 2.

The ESAP 14 is also bi-directionally coupled to a user informationsystem 28 that includes a server 282 and a database 284, which is thatis bi-directionally coupled to the server 282. The database 284 may bepart of or separate from the server 282. In still other embodiments, thedatabase 284 may be coupled to the ESAP 14 without an intervening dataprocessing system. The balance of the description of the embodiments aredescribed with respect to the server/database configuration as shown inFIG. 2. In FIG. 2, the different entities are illustrated by some of theequipment that may be used by that entity.

Unlike the data processing system for user 12, the data processingsystem of user 22 includes a data processing system program product thatallows the user 22 to have his or her activities with respect toelectronic sites recorded, as will be explained in more detail later.The data processing system program product of user 22 typically includescode embodied within a data processing system readable medium. The codeincludes instructions executable by a data processing system forcarrying out at least one method.

In one specific implementation, the data processing system programproduct may be a plug-in for a browser program. Before being loaded, theplug-in may reside within a hard disk, CD-ROM, floppy diskette, or othernonvolatile memory within the data processing system of the user 22.During or after the browser program is launched, the plug-in is loadedinto the random access memory or other similar volatile memory withindata processing system of the user 22. Each of the memories mentionedwithin this paragraph includes a data processing system readable medium.The data processing system program product is not limited to a plug-infor a browser program. The data processing system program product can bepart of the browser program (not a separate plug-in), a differentsoftware application, an operating system, or the like.

Many variables are possible with the code of the data processing systemprogram product. In one embodiment, the code may include instructionswhere information related to view requests is always sent (cannot bedisabled unless code is removed or altered). In another embodiment, thecode may include instructions to allow the user 22 to determine whetherthe information is to be sent. The data processing system programproduct may have code for a user 22 to select a first mode of operationor a second mode of operation. The first mode of operation may be toenable (activate) sending the information to the user information system28, and the second mode of operation may be to disable (deactivate)sending the information to the user information system 28. Even if thefirst mode of operation is activated, the user 22 is not sent a viewsolely in response to the information being sent to the user informationsystem 28.

The selection of the different modes may be achieved by a pull-down menuin the browser program, buttons as part of a graphical user interface, aseparate screen for reconfiguring the settings, or the like. Dependingon the product, the browser program may or may not need to be relaunchedfor the changes to take effect. The change may be permanent until theuser 22 modifies the configuration, or the code may be configured toreturn to the original default when the browser program is closed andlater relaunched. Clearly, the product could be configured with anopposite default (i.e., normally disabled). The use of the product isbetter understood in conjunction with the description of the methodillustrated in FIG. 3.

FIG. 3 includes a process flow diagram for a method of using the systemillustrated in FIG. 2. For this example, the data processing systemprogram product as described in the preceding paragraph has a userselectable function. The user 22 starts (oval 322) by making a decisionwhether the user 22 should enable the recording function of the product(diamond 324). Regardless whether recording is enabled (the “YES” branchfrom diamond 324) or disable (the “NO” branch from diamond 324), themethod proceeds with the acts of the user 22 sending a view request tothe electronic site 16 (block 342) and receiving from the electronicsite 16 a view substantially corresponding to the view request (block344). The request is typically in the form of an HTTP request for aUniversal Resource Locator (URL). Some advertising or additionalinformation may be sent with the view; however, most of the view comesfrom electronic site 16 in response to the view request from the user22. These acts are similar to those performed by users with conventionalbrowser programs.

Unlike conventional browser programs, the product may allow recording ofinformation related to the view request. Referring to the “YES” branchfrom diamond 324), the user sends information related to the viewrequest to user information system 28 (block 346). The information caninclude site information related to the view request (e.g., the URL orthe like), an identifier of the user 22 (e.g., Internet Protocoladdress, pre-assigned user identifier, a cookie, or the like), temporalinformation related to the view request (e.g., time stamp, time-at-view,or the like), or the like. The entity that substantially controls orowns the user information system 28 is usually different from theentities that substantially control or own the ESAP 14 or the electronicsite 16. In one specific implementation, the information may be sent tothe user information system 28 via the ESAP 14 as shown in FIG. 2 (theESAP 14 forwards the information received from the user 22 to the userinformation system 28). The server 282 receives the information andrecords it within the database 284. If the optional server 282 is notused, the ESAP 14 may record information within database 284.

Returning to FIG. 3, the timing for sending of information in act 346 isvariable. The information could be sent at substantially the same timeas act 342 or 344, between the acts, or after the acts. To capture asmuch information as possible, the information may be send (block 346)every time a request for a view is made (block 342). Alternatively,information may only be collected for electronic sites that exist. Inthe latter instance, the database may not record error messages forviews not found or displayed with respect to the user. In anotherembodiment, the information may be sent (block 346) before sending theview request (block 342). In yet another embodiment, information may beaccumulated by the user 22 and sent to the system 28 after apredetermined volume of data has accumulated or on a periodic (e.g.,daily, weekly, or the like) basis. While the data may not be as currentas other embodiments, this method should reduce the work of the ISP 14by reducing the number of transmissions of information to the system 28.Many other different timing schemes can be used.

Regardless which path is used in FIG. 3, the user 22 determines whethermore browsing is desired (diamond 362). If not, the method ends (oval364). Otherwise, the method returns to decision diamond 324. For thesubsequent view request, the user may change the configuration. Forexample, during the first view request, the recording may have beenenabled. Before a second view request, the user 22 disables recording.The acts 342 and 344 are performed, but in this instance, the user 22does not send information related to the second view to anyone (i.e.,the act listed in block 346 is not performed), and more specifically,not to user information system 28. This feature allows the user todecide whether he or she wants others to build a user profile based onany or all of his or her activities at the electronic sites. The user 22can maintain the level of privacy that the user 22 desires.

Privacy issues and selection of the mode of operation (enable versusdisable) for recording by the user 22 can depend on the identity of thevarious entities. Typically, the data processing system of user 22, theESAP 14, the electronic site 16, and user information system 28 are notsignificantly or substantially controlled or owned by a single entity.In many instances, an entity does not significantly or substantiallycontrol or own more than one of the data processing systems of the user22, the ESAP 14, the electronic site 16, and the user information system28. However, the server 282 and database 284 are substantiallycontrolled or owned by a single entity in most instances. Note that oneof the entities may control or own part of a different entity, but suchcontrol or ownership is typically not significant (less thanapproximately 10% ownership of the different entity or less thanapproximately 10% ownership of the voting shares of the differententity). These various scenarios are not meant to prevent an entity fromsubstantially controlling or owning one, two, three, or all four of thedata processing systems of the user 22, the ESAP 14, the electronic site16, and the user information system 28.

The entity that substantially controls or owns the user informationsystem 28 may use the information collected or obtained as that entitydeems appropriate. The entity may allow the user 22 to access his or herinformation. In one embodiment, the user 22 may send and the system 28may receive an inquiry for at least some of the information collected onthat user 22. In response to the request, the system 28 may send and theuser would receive information regarding that the user 22 thatsubstantially corresponds to the inquiry.

The system 28 may also be configured in a hierarchical manner, such thatuser 22, who has a higher priority, can obtain information on all or aportion of other users having a lower priority. In still otherembodiments, the entity that substantially controls or owns the system28 may provide a commercial service that sells part or all theinformation within database 284 to others, such as an entity thatsubstantially controls or owns the electronic site 16. Although notshown, the electronic site 16 and the system 28 may be bi-directionallycoupled to each other. The electronic 16 may access the system 28 todetermine the content of advertising or other similar information thatmay be sent user 22. This content may be sent as part of the view orsent separately to the user 22.

The systems and methods described above allow a more accurate userprofile to be achieved compared to information collected on a user onlyat an electronic site or only at electronic sites that are part of analliance. The ability to enable/disable recording allows the user 22 tolet most of his or her activities at electronic sites be recorded whilenot having all activities recorded. The user 22 may want activities notrecorded where the user 22 might be harmed if knowledge of such activitywould become publicly available.

In the foregoing specification, the invention has been described withreference to specific embodiments. However, one of ordinary skill in theart appreciates that various modifications and changes can be madewithout departing from the scope of the present invention as set forthin the claims below. Accordingly, the specification and figures are tobe regarded in an illustrative rather than a restrictive sense, and allsuch modifications are intended to be included within the scope ofpresent invention.

Benefits, other advantages, and solutions to problems have beendescribed above with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any element(s) that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeature or element of any or all the claims. As used herein, the terms“comprises,” “comprising,” or any other variation thereof, are intendedto cover a non-exclusive inclusion, such that a process, method,article, or apparatus that comprises a list of elements does not includeonly those elements but may include other elements not expressly listedor inherent to such process, method, article, or apparatus.

The invention claimed is:
 1. A computer-implemented method of trackinguser activity on a website in a manner that is responsive to usertracking selections, comprising: responsive to a user selection of afirst mode of operation to track website activity related to the user,enabling, by a data processing system program product embodied onnon-transitory computer memory of a data processing system of the user,the sending of information related to website activity of the user on awebsite; the data processing system of the user sending a view requestto a website server serving the website and receiving from the websiteserver a view substantially corresponding to the view request regardlessof whether the sending of information is enabled by the data processingsystem program product embodied on the data processing system of theuser; the data processing system of the user sending the informationrelated to the website activity of the user on the website to anelectronic site access provider server; the electronic site accessprovider server storing or causing the storing of the informationrelated to the website activity of the user on the website in a userinformation system; and responsive to another user selection of a secondmode of operation, the data processing system program product embodiedon the data processing system of the user disabling the sending of theinformation related to the website activity of the user on the website.2. The computer-implemented method according to claim 1, furthercomprising, in said first state, generating, by a website trackingserver of the user information system, a user profile based on thestored website activity information, said user profile related towebsite activity for which the user enables tracking.
 3. Thecomputer-implemented method according to claim 1, wherein said storedinformation related to website activity of the user in said first modeof operation is publicly available and website activity of the user insaid second mode of operation is not publicly available thereby servingto protect the privacy of website activity of the user in said secondmode of operation.
 4. The computer-implemented method according to claim1, wherein said stored information includes information on a pluralityof users and is publicly available on a basis of a priority wherein auser with a higher priority can obtain information on other users with alower priority.
 5. The computer-implemented method according to claim 1,wherein the website activity of the user comprises information relatedto a view request.
 6. The computer-implemented method according to claim5, wherein the view request comprises temporal information.
 7. Thecomputer-implemented method according to claim 1, wherein the userinformation system is independent of the website server.
 8. Thecomputer-implemented method according to claim 1, wherein the electronicsite access provider server stores the information in a database of theuser information system.
 9. The computer-implemented method according toclaim 1, wherein the electronic site access provider server sends theinformation to a website tracking server of the user information system,wherein the website tracking server stores the information in a databaseof the user information system.
 10. A computer program product includingat least one non-transitory computer readable medium storinginstructions translatable by at least one processor to perform:responsive to a user selection of a first mode of operation to trackwebsite activity related to the user, enabling, by a data processingsystem program product embodied on a data processing system of the user,the sending of information related to website activity of the user on awebsite; the data processing system of the user sending a view requestto a website server serving the website and receiving from the websiteserver a view substantially corresponding to the view request regardlessof whether the sending of information is enabled by the data processingsystem program product embodied on the data processing system of theuser; the data processing system of the user sending the informationrelated to the website activity of the user on the website to anelectronic site access provider server; the electronic site accessprovider server storing or causing the storing of the informationrelated to the website activity of the user on the website in a userinformation system; and responsive to another user selection of a secondmode of operation, the data processing system program product embodiedon the data processing system of the user disabling the sending of theinformation related to the website activity of the user on the website.11. The computer program product of claim 10, wherein the at least onenon-transitory computer readable medium stores further instructionstranslatable by the at least one processor to perform: in said firstmode of operation, generating, by a website tracking server of the userinformation system, a user profile based on the stored website activityinformation, said user profile related to website activity for which theuser enables tracking.
 12. The computer program product of claim 10,wherein said stored information related to website activity of the userin said first mode of operation is publicly available and websiteactivity of the user in said second mode of operation is not publiclyavailable thereby serving to protect the privacy of website activity ofthe user in said second mode of operation.
 13. The computer programproduct of claim 10, wherein said stored information includesinformation on a plurality of users and is publicly available on a basisof a priority wherein a user with a higher priority can obtaininformation on other users with a lower priority.
 14. The computerprogram product of claim 10, wherein the website activity of the usercomprises information related to a view request.
 15. The computerprogram product of claim 14, wherein the view request comprises temporalinformation.
 16. The computer program product of claim 10, wherein theuser information system is independent of the website server.
 17. Thecomputer program product according to claim 10, wherein the electronicsite access provider server stores the information in a database of theuser information system.
 18. The computer program product according toclaim 10, wherein the electronic site access provider server sends theinformation to a website tracking server of the user information system,wherein the website tracking server stores the information in a databaseof the user information system.
 19. A system for tracking user activityon a website in a manner that is responsive to user tracking selections,comprising: at least one processor; at least one non-transitory computerreadable medium storing instructions translatable by the at least oneprocessor to perform: responsive to a user selection of a first mode ofoperation to track website activity related to the user, enabling, by adata processing system program product embodied on a data processingsystem of the user, the sending of information related to websiteactivity of the user on a website; the data processing system of theuser sending a view request to a website server serving the website andreceiving from the website server a view substantially corresponding tothe view request regardless of whether the sending of information isenabled by the data processing system program product embodied on thedata processing system of the user; the data processing system of theuser sending the information related to the website activity of the useron the website to an electronic site access provider server; theelectronic site access provider server storing or causing the storing ofthe information related to the website activity of the user on thewebsite in a user information system; and responsive to another userselection of a second mode of operation, the data processing systemprogram product embodied on the data processing system of the userdisabling the sending of the information related to the website activityof the user on the website.
 20. The system of claim 19, wherein the atleast one non-transitory computer readable medium stores furtherinstructions translatable by the at least one processor to perform: insaid first mode of operation, generating, by a website tracking serverof the user information system, a user profile based on the storedwebsite activity information, said user profile related to websiteactivity for which the user enables tracking.
 21. The system of claim19, wherein said stored information related to website activity of theuser in said first mode of operation is publicly available and websiteactivity of the user in said second mode of operation is not publiclyavailable thereby serving to protect the privacy of website activity ofthe user in said second mode of operation.
 22. The system of claim 19,wherein said stored information includes information on a plurality ofusers and is publicly available on a basis of a priority wherein a userwith a higher priority can obtain information on other users with alower priority.
 23. The system of claim 19, wherein the website activityof the user comprises information related to a view request.
 24. Thesystem of claim 23, wherein the view request comprises temporalinformation.
 25. The system of claim 19, wherein the user informationsystem is independent of the website server.
 26. The system according toclaim 19, wherein the electronic site access provider server stores theinformation in a database of the user information system.
 27. The systemaccording to claim 19, wherein the electronic site access providerserver sends the information to a website tracking server of the userinformation system, wherein the website tracking server stores theinformation in a database of the user information system.